\chapter{Résumé du projet}

\paragraph{}Pour répondre à une demande de performances de plus en plus importante, de nouvelles architectures massivement multiprocesseurs ont été développées. Nous devons donc étudier l'intérêt de ces architectures pour effectuer certains types de calculs autres que graphiques et proposer une bibliothèque qui facilite son utilisation.

\paragraph{}Les algorithmes de convolution semblent pouvoir regrouper plusieurs catégories de problèmes tels que:
\begin{itemize}
\item Le calcul d'écoulement de fluide
\item Le calcul de diffusion de chaleur
\item La détection de bord (filtre de Sobel)
\end{itemize}

\paragraph{}Nous devons donc réaliser une bibliothèque qui va permettre d'utiliser un algorithme de convolution générique, avec des matrices de convolution spécifiques aux problèmes ci-dessus. Il devra être possible de gérer les bords de différentes manières.

\paragraph{}Depuis 2007 NVidia, grand fabriquant de cartes graphiques, propose sur la plupart de ses modèles la technologie CUDA, qui est accessible aux développeurs par l'intermédiaire d'une bibliothèque. Cette technologie de calcul parallèle étant assez répandue, la bibliothèque que nous devrons proposer reposera sur celle-ci.
